function [g1, T_order, T] = dynamic_g1(y, x, params, steady_state, sparse_rowval, sparse_colval, sparse_colptr, T_order, T)
if nargin < 9
    T_order = -1;
    T = NaN(38, 1);
end
[T_order, T] = M30hr.sparse.dynamic_g1_tt(y, x, params, steady_state, T_order, T);
g1_v = NaN(34, 1);
g1_v(1)=(-(T(14)*exp(y(17))*T(28)));
g1_v(2)=1-params(3);
g1_v(3)=(-(T(14)*T(29)));
g1_v(4)=(-(T(16)*(1-params(4))*T(28)));
g1_v(5)=(-params(5));
g1_v(6)=T(4)*T(17)-T(6)*T(18);
g1_v(7)=params(8);
g1_v(8)=(-1);
g1_v(9)=1;
g1_v(10)=(-(1/y(15)));
g1_v(11)=T(1)*T(22)-T(5)*T(23);
g1_v(12)=T(23);
g1_v(13)=1;
g1_v(14)=T(9)*T(30)-T(12)*params(4)*T(30);
g1_v(15)=(-1);
g1_v(16)=1;
g1_v(17)=1;
g1_v(18)=T(4)*T(31)-(params(2)*getPowerDeriv(y(15),params(7),1)+T(6)*T(32));
g1_v(19)=(-(T(13)*exp(y(17))*T(33)));
g1_v(20)=(-((-y(11))/(y(15)*y(15))));
g1_v(21)=(-(T(15)*T(33)));
g1_v(22)=(-(T(13)*(1-params(4))*T(34)));
g1_v(23)=1;
g1_v(24)=(-(T(13)*exp(y(17))*T(14)));
g1_v(25)=1;
g1_v(26)=1;
g1_v(27)=1;
g1_v(28)=T(1)*T(36)-T(5)*T(6)*T(35);
g1_v(29)=T(6)*T(35);
g1_v(30)=1;
g1_v(31)=T(9)*T(19)-T(12)*params(4)*T(19);
g1_v(32)=T(10)*T(26)-(1-params(3)+params(4)*T(10))*T(27);
g1_v(33)=T(10)*T(38)-(1-params(3)+params(4)*T(10))*params(1)*T(11)*T(37);
g1_v(34)=(-1);
if ~isoctave && matlab_ver_less_than('9.8')
    sparse_rowval = double(sparse_rowval);
    sparse_colval = double(sparse_colval);
end
g1 = sparse(sparse_rowval, sparse_colval, g1_v, 10, 31);
end
